#include <iostream>
#include <algorithm>
#include <unordered_map>
using namespace std;

const int N = 1e5 + 10;
int n;
int pos;
int a[N];
int disc[N];
unordered_map<int, int> id; // <原始数据，离散化之后的数据>

int main()
{
    cin >> n;
    for(int i = 1; i <= n; i++)
    {
        cin >> a[i];
        disc[++pos] = a[i];
    }
    sort(disc + 1, disc + 1 + pos);
    int cnt = 0; // 当前这个值是第几号元素
    for(int i = 0; i <= pos; i++)
    {
        int x = disc[i];
        if(id.count(x)) continue;
        cnt++;
        id[x] = cnt;
    }
    for(int i = 1; i <= n; i++)
    {
        cout << a[i] << "离散化后的结果是：" << id[a[i]] << endl;
    }

    return 0;
}
